using System;

namespace TinyMoney.Domain.Interfaces
{
    public interface ICurrency
    {
        string Code { get; }
        ICountry Country { get; }
    }
    public interface IExpectedCashFlow
    {
        Guid Id { get; }
        IDeal Deal { get; }
        ICashFlow CashFlow { get; }
    }
    public interface ICustomerAccountFlow
    {
        Guid Id { get; }
        ICustomerAccount Account { get; }
        ICashFlow Flow { get; }
        IExpectedCashFlow ExpectedFlow { get; }
    }
    public interface ICustomerAccount
    {
        Guid Id { get; }
        string AccountNumber { get; }
        ILegalEntity AccountHolder { get; }
        DateTime DateOpened { get; }
        bool IsActive { get; }
        string Comments { get; }
    }
    public interface IDeal
    {
        Guid Id { get; }
        ITinyBranch TinyBranch { get; }
        ILegalEntity Counterparty { get; }
        DateTime DealDate { get; }
    }
}